package sort;

import java.util.Arrays;

/**
 * @author chengz
 * @description 选择排序
 * @create 2020-11-12 18:22
 */
public class SelectSort implements ISortAlgorithm{
    @Override
    public String getName() {
        return "选择排序";
    }

    @Override
    public void sort(int[] arr) {
        selectSort(arr);
    }

    /**
     * 选择排序每次选择最大的一个数  放到最前面
     * @param arr
     */
    private void selectSort(int[] arr) {
        for (int i = 0;i<arr.length;i++){
            int maxIndex = i;
            for (int j=i+1;j<arr.length;j++){
                if(arr[j]>arr[maxIndex]){
                    maxIndex=j;
                }
            }
            int temp = arr[maxIndex];
            arr[maxIndex]=arr[i];
            arr[i]=temp;
        }
    }

    public static void main(String[] args) {
        int [] arr = {5,1,2,6,7,8,4,9,0};
        new SelectSort().sort(arr);
        Arrays.stream(arr).forEach(System.out::println);
    }
}
